﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ins.Office.Common
{

    /// <summary>
    /// Writes data of specified type to an Excel spreadsheet.
    /// </summary>
    /// <typeparam name="T">The data type.</typeparam>
    public interface IXLSheetWriter<T>
    {
        /// <summary>
        /// Gets the data object.
        /// </summary>
        T Data { get; }
        
        /// <summary>
        /// Gets the internal sheet name.
        /// </summary>
        /// <remarks>
        /// The internal sheet name is used by the workbook and cannot be modified by the user.
        /// </remarks>
        string SheetCodeName { get; }

        /// <summary>
        /// The full path of the workbook containing the spreadsheet.
        /// </summary>
        string WorkbookPath { get; }

        /// <summary>
        /// Writes data to the spreadsheet.
        /// </summary>
        /// <remarks>
        /// 
        /// </remarks>
        void Write();


    }
}
